diff --git a/system/helpers/inflector_helper.php b/system/helpers/inflector_helper.php
index fbe851f..28ecf52 100644
--- a/system/helpers/inflector_helper.php
+++ b/system/helpers/inflector_helper.php
@@ -39,26 +39,31 @@
  */		
 function singular($str)
 {
-	$str = strtolower(trim($str));
-	$end = substr($str, -3);
-	
-	if ($end == 'ies')
-	{
-		$str = substr($str, 0, strlen($str)-3).'y';
-	}
-	else
-	{
-		$end = substr($str, -1);
-		
-		if ($end == 's')
-		{
-			$str = substr($str, 0, strlen($str)-1);
-		}
-	}
-	
-	return $str;
+    $str = strtolower(trim($str));
+    $end = substr($str, -3);
+    
+    if ($end == 'ies')
+    {
+        $str = substr($str, 0, strlen($str)-3).'y';
+    }
+    elseif ($end == 'ses')
+    {
+        $str = substr($str, 0, strlen($str)-2);
+    }
+    else
+    {
+        $end = substr($str, -1);
+        
+        if ($end == 's')
+        {
+            $str = substr($str, 0, strlen($str)-1);
+        }
+    }
+    
+    return $str;
 }
 
+
 // --------------------------------------------------------------------
 
 /**
@@ -68,25 +73,34 @@
  *
  * @access	public
  * @param	string
+ * @param	bool
  * @return	str
  */		
-function plural($str)
+function plural($str, $force = FALSE)
 {
-	$str = strtolower(trim($str));
-	$end = substr($str, -1);
+    $str = strtolower(trim($str));
+    $end = substr($str, -1);
 
-	if ($end == 'y')
-	{
-		$str = substr($str, 0, strlen($str)-1).'ies';
-	}
-	elseif ($end != 's')
-	{
-		$str .= 's';
-	}
+    if ($end == 'y')
+    {
+        $str = substr($str, 0, strlen($str)-1).'ies';
+    }
+    elseif ($end == 's')
+    {
+        if ($force == TRUE)
+        {
+            $str .= 'es';
+        }
+    }
+    else
+    {
+        $str .= 's';
+    }
 
-	return $str;	
+    return $str;
 }
 
+
 // --------------------------------------------------------------------
 
 /**
